package br.gov.mj.provaconceito.gerencial.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.gov.mj.frameworkprocessos.pojo.CaixaFiltroVO;
import br.gov.mj.frameworkprocessos.pojo.DocumentoVO;
import br.gov.mj.frameworkprocessos.processo.ejb.ProcessoSGDelegate;
import br.gov.mj.frameworkprocessos.processo.ejb.ProcessoUtil;
import br.gov.mj.seguranca.ejb.SegurancaDelegate;
import br.gov.mj.seguranca.pojo.Sessao;
import br.gov.mj.seguranca.util.CorporativoConstantes.CodigoModuloSistema;

@ManagedBean
@ViewScoped
public class AreaTrabalhoBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Sessao sessao = null;

	private List<DocumentoVO> documentos = new ArrayList<DocumentoVO>();

	private Sessao login(String user, String password) throws Exception {
		try {
			if (sessao == null)
				sessao = SegurancaDelegate.getInstancia().autenticarUsuario(user, password.toCharArray(), "10.13.1.230","10.13.1.230");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return sessao;
	}

	public void pesquisarDocumentos2() {
		try {
			CaixaFiltroVO filtro = new CaixaFiltroVO();
			filtro.setTipoCaixa(ProcessoUtil.TipoCaixa.CAIXA_ENTRADA);
			filtro.setIndicaTodos(true);
			filtro.setCodigoUnidadeTramiteAtual(407);
			sessao = login("jorge.barros_dba", "123456");
			sessao.setCodigoPerfil(667);
			documentos = ProcessoSGDelegate.getInstancia().getDocumentos(
					filtro, sessao);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void pesquisarDocumentos() {
		try {
		CaixaFiltroVO filtro = new CaixaFiltroVO();

		filtro.setTipoCaixa(ProcessoUtil.TipoCaixa.AREA_TRABALHO);

		filtro.setIndicaTodos(true);

		filtro.setCodigoUnidadeTramiteAtual(407);

		sessao = login("monica.sapucaia_dba", "123456");

		sessao.setCodigoPerfil(667);

		filtro.setCodigoPessoaFisica(2150934);

		sessao.setCodigoModuloSistema(CodigoModuloSistema.SNAT_NATURALIZACAO);

		documentos = ProcessoSGDelegate.getInstancia()
				.getDocumentos(filtro, sessao);
		}catch (Exception e) {
			e.printStackTrace();
		}
	}

	public List<DocumentoVO> getDocumentos() {
		return documentos;
	}

	public void setDocumentos(List<DocumentoVO> documentos) {
		this.documentos = documentos;
	}

}
